#include <stdlib.h>
#include "cms_common.h"
#include "libmdm.h"
#include "cmsXml_object.h"
#include "cmsTask_statsFunc.h"
#include "task_module.h"
#ifdef GC_VOICE
#include "cmsTask_voice.h"
#endif

int stats_InternetGatewayDevice_DeviceInfo(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_DeviceInfo_MemoryStatus(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_DeviceInfo_ProcessStatus(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_Time(const uint64_t IA){
	return CMS_OK;
}


int stats_InternetGatewayDevice_Layer3Forwarding(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_IPv6Layer3Forwarding_Forwarding_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_LANDevice_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_LANDevice_i_LANEthernetInterfaceConfig_i(const uint64_t IA){
    return CMS_OK;
}

int stats_InternetGatewayDevice_LANDevice_i_LANEthernetInterfaceConfig_i_Stats(const uint64_t IA){
    return CMS_OK;
}

int stats_InternetGatewayDevice_LANDevice_i_Hosts_Host_i_X_CMCC_Stats(const uint64_t IA){
    return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_WANCommonInterfaceConfig(const uint64_t IA){
    return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_WANConnectionDevice_i_WANIPConnection_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_WANConnectionDevice_i_WANPPPConnection_i(const uint64_t IA){
    return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_WANConnectionDevice_i_WANIPConnection_i_Stats(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_WANConnectionDevice_i_WANPPPConnection_i_Stats(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_X_CT_COM_GponInterfaceConfig(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_X_CT_COM_GponInterfaceConfig_Stats(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_X_CT_COM_EponInterfaceConfig(const uint64_t IA){

	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_X_CT_COM_EponInterfaceConfig_Stats(const uint64_t IA){
	
	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_X_CT_COM_EponInterfaceConfig_StatsInit(const uint64_t IA){
	
	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_X_CT_COM_EponInterfaceConfig_X_GC_PonAlarm(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_WANEthernetInterfaceConfig(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WANDevice_i_WANEthernetInterfaceConfig_Stats(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_Services_VoiceService_i_VoiceProfile_i_Line_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_Services_VoiceService_i_VoiceProfile_i_Line_i_X_CT_COM_IMS(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_Services_VoiceService_i_VoiceProfile_i_Line_i_Stats(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_Services_VoiceService_i_PhyInterface_i_X_CT_COM_Stats_PoorQualityList(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_Services_VoiceService_i_PhyInterface_i_Tests_X_CT_COM_SimulateTest(const uint64_t IA){
	return CMS_OK;
}


int stats_InternetGatewayDevice_WiFi_Radio_i(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_Radio_i(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_Radio_i_Stats(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_Radio_i_Stats(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_Radio_i_NeighboringWiFiDiagnostic_Result_i(const uint64_t IA) {
#ifdef GC_APPS_WLAN
    return cms_stats_IGD_WiFi_Radio_i_NeighboringWiFiDiagnostic_Result_i(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_SSID_i(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_SSID_i(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_SSID_i_Stats(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_SSID_i_Stats(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_AccessPoint_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WiFi_AccessPoint_i_AssociatedDevice_i(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_AccessPoint_i_AssociatedDevice_i(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_AccessPoint_i_AssociatedDevice_i_Stats(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_AccessPoint_i_AssociatedDevice_i_Stats(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_AccessPoint_i_X_GC_WMMServices_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WiFi_X_GC_UnassociatedSTA_Info_i(const uint64_t IA){
#ifdef GC_APPS_WLAN
	#ifdef GC_APPS_CTC
		return cms_stats_IGD_WiFi_X_GC_UnassociatedSTA_Info_i_Stats_For_CTC(IA);
	#else
		return cms_stats_IGD_WiFi_X_GC_UnassociatedSTA_Info_i_Stats(IA);
	#endif
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_EndPoint_i_Stats(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_EndPoint_i_Stats(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_X_GC_WDS_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_WiFi_X_GC_MultiAP_Stats(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_X_GC_MultiAP_Stats(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_X_GC_MultiAP_Agent_Stats(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_X_GC_MultiAP_Agent_Stats(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_X_GC_MultiAP_Agent_Stats_OT(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_X_GC_MultiAP_Agent_Stats_OT(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_WiFi_X_GC_MultiAP_Agent_Stats_Sync(const uint64_t IA){
#ifdef GC_APPS_WLAN
	return cms_stats_IGD_WiFi_X_GC_MultiAP_Agent_Stats_Sync(IA);
#else	
	return CMS_OK;
#endif
}

int stats_InternetGatewayDevice_SoftwareModules_ExecEnv_i(const uint64_t IA){
#ifdef GC_SUPPORT_OSGI
		if(cmsExecEnvUpdate(IA) != CMS_OK){
			return CMS_NOK;
		}
#endif
	return CMS_OK;
}

int stats_InternetGatewayDevice_SoftwareModules_DeploymentUnit_i(const uint64_t IA){
#ifdef GC_SUPPORT_OSGI
	if(cmsDeploymentUnitUpdate(IA) != CMS_OK){
		return CMS_NOK;
	}
#endif
	return CMS_OK;
}

int stats_InternetGatewayDevice_SoftwareModules_ExecutionUnit_i(const uint64_t IA){
#ifdef GC_SUPPORT_OSGI
	if(cmsExecutionUnitUpdate(IA) != CMS_OK){
		return CMS_NOK;
	}
#endif
	return CMS_OK;
}

int	stats_InternetGatewayDevice_X_GC_FtpClient(const uint64_t IA){
#ifdef GC_SUPPORT_HOMENAS
	if(cmsTask_FtpClientStatusUpdate() != CMS_OK){
		return CMS_NOK;
	}
#endif
	return CMS_OK;
}

int stats_InternetGatewayDevice_X_CU_Function_RMS_SpeedTest(const uint64_t IA){
	return CMS_OK;
}

int	stats_InternetGatewayDevice_Services_X_CU_FTPFTPClient_i(const uint64_t IA){
#ifdef GC_SUPPORT_HOMENAS
	if(cmsTask_FtpClientStatusUpdate_CU(IA) != CMS_OK){
		return CMS_NOK;
	}
#endif
	return CMS_OK;
}

int	stats_InternetGatewayDevice_X_CT_COM_DNSSpeedLimit(const uint64_t IA){
#ifdef GC_SUPPORT_DNSSPEEDLIMIT
	if(cmsTask_DNSSpeedLimitStatusUpdate() != CMS_OK){
		return CMS_NOK;
	}
#endif
	return CMS_OK;
}

int stats_InternetGatewayDevice_X_GC_EXT_X_GC_CTC_URLFilterListCfg_i(const uint64_t IA){
#ifdef GC_SUPPORT_CTCURLFILTER
    if(cmsTask_CTCURLFilterBlockTimesUpdate(IA) != CMS_OK){
        return CMS_NOK;
    }
#endif
    return CMS_OK;
}

int stats_InternetGatewayDevice_DeviceInfo_X_CT_COM_Ping(const uint64_t IA){
#ifdef GC_SUPPORT_CTPING
	if(cmsTask_CTPingStatusUpdate() != CMS_OK){
		return CMS_NOK;
	}
#endif
	return CMS_OK;
}

int stats_InternetGatewayDevice_LANDevice_i_X_CT_COM_PONInterfaceConfig_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_LANDevice_i_X_CT_COM_PONInterfaceConfig_i_ConnectedONT_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_DnOptInfo(const uint64_t IA){
#ifdef GC_SUPPORT_FTTR
	if(cmsTask_DnOpt_update() != CMS_OK){
		return CMS_NOK;
	}
#endif
	return CMS_OK;
}

int stats_InternetGatewayDevice_DnOptInfo_Stats(const uint64_t IA){
#ifdef GC_SUPPORT_FTTR
	if(cmsTask_DnOpt_stats() != CMS_OK){
		return CMS_NOK;
	}
#endif
	return CMS_OK;
}

int stats_InternetGatewayDevice_SubDeviceInfo_i(const uint64_t IA){
#ifdef GC_SUPPORT_FTTR
	if(cmsTask_SubDeviceInfo_update(IA) != CMS_OK){
		return CMS_NOK;
	}
#endif
	return CMS_OK;
}

int stats_InternetGatewayDevice_SubDeviceInfo_i_Radio_i(const uint64_t IA){
	return CMS_OK;
}

int stats_InternetGatewayDevice_SubDeviceInfo_i_Radio_i_WifiNeighInfo_i(const uint64_t IA){
	return CMS_OK;
}
